from queue import Queue
from threading import Thread
import time
#创建一个生产类
class produce(Thread):
    def __init__(self,name,queue):#定义一些属性和对象
        Thread.__init__(self,name=name)#将进程Thread对象的名字命名为name
        self.queue=queue
    def run(self):
        for i in range(5):
            print(f'产品{self.name}将{i}放入队列中')
            self.queue.put(i)
            time.sleep(1)
        print('-已全将产品放入队列中-')
#创建一个消费者类
class consumer(Thread):
    def __init__(self,name,queue):
        Thread.__init__(self,name=name)
        self.queue=queue
    def run(self):
        for i in range(5):
            value=self.queue.get()
            print(f'消费者线程{self.name}取出{value}')
            time.sleep(1)
        print('-----消费者已全将数据取出-----')
if __name__=='__main__':
    #创建线程
    queue=Queue()#队列可以接受无限数据
    #创建生产者对象
    p=produce(name='produce1',queue=queue)#传参
    #创建消费者对象
    c=consumer(name='consumer1',queue=queue)
    #启动线程
    p.start()
    c.start()
    #
    p.join()
    c.join()



